前言
错题会自动加入错题本。
1.1.4本节习题精选
一、单项选择题
01.操作系统是对()进行管理的软件。
C
操作系统管理计算机的硬件和软件资源,这些资源统称为计算机资源。注意,操作系统不仅管理处理机、存储器等硬件资源,而且也管理文件,文件不属于硬件资源,但属于计算机资源。
操作系统管理计算机的硬件和软件资源,这些资源统称为计算机资源。注意,操作系统不仅管理处理机、存储器等硬件资源,而且也管理文件,文件不属于硬件资源,但属于计算机资源。
02.下面的()资源不是操作系统应该管理的。
D
源程序是一种计算机代码,是用程序设计语言编写的程序,经编译或解释后可形成具有一定功能的可执行文件,是直接面向程序员用户的,而不是操作系统的管理内容。本题采用排除法可轻易得到答案,但有人会问操作系统不是也管理“文件”吗?源程序也存储在文件中吧?出现这种疑问的原因是,对操作系统管理文件的理解存在偏颇。操作系统管理文件,是指操作系统关心计算机中的文件的逻辑结构、物理结构、文件内部结构、多文件之间如何组织的问题,而不是关心文件的具体内容。这就好比你是操作系统,有十个水杯让你管理,你负责的是将这些水杯放在何处比较合适,而不关心水杯中的是水还是饮料。后续章节会详细介绍文件的管理。
源程序是一种计算机代码,是用程序设计语言编写的程序,经编译或解释后可形成具有一定功能的可执行文件,是直接面向程序员用户的,而不是操作系统的管理内容。本题采用排除法可轻易得到答案,但有人会问操作系统不是也管理“文件”吗?源程序也存储在文件中吧?出现这种疑问的原因是,对操作系统管理文件的理解存在偏颇。操作系统管理文件,是指操作系统关心计算机中的文件的逻辑结构、物理结构、文件内部结构、多文件之间如何组织的问题,而不是关心文件的具体内容。这就好比你是操作系统,有十个水杯让你管理,你负责的是将这些水杯放在何处比较合适,而不关心水杯中的是水还是饮料。后续章节会详细介绍文件的管理。
03.下列选项中,()不是操作系统关心的问题。
D
操作系统管理计算机软/硬件资源,扩充裸机以提供功能更强大的扩充机器,并充当用户与硬件交互的中介。高级程序设计语言的编译器显然不是操作系统关心的问题。编译器的实质是一段程序指令,它存储在计算机中,是上述水杯中的水。
操作系统管理计算机软/硬件资源,扩充裸机以提供功能更强大的扩充机器,并充当用户与硬件交互的中介。高级程序设计语言的编译器显然不是操作系统关心的问题。编译器的实质是一段程序指令,它存储在计算机中,是上述水杯中的水。
04.操作系统的基本功能是()。
D
操作系统是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作和资源的分配,以便为用户和其他软件提供方便的接口与环境的程序集合。A、B、C项都可理解成应用程序为用户提供的服务,是应用程序的功能,而不是操作系统的功能。
操作系统是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作和资源的分配,以便为用户和其他软件提供方便的接口与环境的程序集合。A、B、C项都可理解成应用程序为用户提供的服务,是应用程序的功能,而不是操作系统的功能。
05.现代操作系统中最基本的两个特征是()。
B
操作系统最基本的特征是并发和共享,两者互为存在条件
操作系统最基本的特征是并发和共享,两者互为存在条件
06.下列关于并发性的叙述中,正确的是()。
C
并发性是指若干事件在同一时间间隔内发生,而并行性是指若干事件在同一时刻发生。
并发性是指若干事件在同一时间间隔内发生,而并行性是指若干事件在同一时刻发生。
07.用户可以通过()两种方式来使用计算机。
B
操作系统主要向用户提供命令接口和程序接口(系统调用),此外还提供图形接口;当然,图形接口其实是调用了系统调用而实现的功能。
操作系统主要向用户提供命令接口和程序接口(系统调用),此外还提供图形接口;当然,图形接口其实是调用了系统调用而实现的功能。
08.系统调用是由操作系统提供给用户的,它()。
B
系统调用是操作系统为应用程序使用内核功能所提供的接口。
系统调用是操作系统为应用程序使用内核功能所提供的接口。
09.操作系统提供给编程人员的接口是()。
C
操作系统为编程人员提供的接口是程序接口,即系统调用。
操作系统为编程人员提供的接口是程序接口,即系统调用。
10.系统调用的目的是()。
A
操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源。
操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源。
11.为了方便用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为()。
A
程序接口、图形接口与命令接口三者并没有从属关系。按命令控制方式的不同,命令接口分为联机用户接口和脱机用户接口。
程序接口、图形接口与命令接口三者并没有从属关系。按命令控制方式的不同,命令接口分为联机用户接口和脱机用户接口。
12.以下关于操作系统的叙述中,错误的是()。
D
操作系统是用来管理资源的程序,用户程序也是在操作系统的管理下完成的。配置了操作系统的机器与裸机相比,资源利用率大大提高。操作系统不能直接用来编程,D错误。
操作系统是用来管理资源的程序,用户程序也是在操作系统的管理下完成的。配置了操作系统的机器与裸机相比,资源利用率大大提高。操作系统不能直接用来编程,D错误。
13.【2009统考真题】单处理机系统中,可并行的是()。
I.进程与进程
Ⅱ.处理机与设备
Ⅲ.处理机与通道
IV.设备与设备
D
在单CPU系统中,同一时刻只能有一个进程占用CPU,因此进程之间不能并行执行。通道是独立于CPU的、控制输入输出的设备,两者可以并行。显然,处理器与设备是可以并行的。设备与设备是可以并行的,比如显示屏与打印机是可以并行工作的。
在单CPU系统中,同一时刻只能有一个进程占用CPU,因此进程之间不能并行执行。通道是独立于CPU的、控制输入输出的设备,两者可以并行。显然,处理器与设备是可以并行的。设备与设备是可以并行的,比如显示屏与打印机是可以并行工作的。
14.【2010统考真题】下列选项中,操作系统提供给应用程序的接口是().
A
操作系统接口主要有命令接口和程序接口(也称系统调用)。库函数是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,使系统调用更为方便、抽象。但是,库函数属于用户程序而非系统调用,是系统调用的上层。
操作系统接口主要有命令接口和程序接口(也称系统调用)。库函数是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,使系统调用更为方便、抽象。但是,库函数属于用户程序而非系统调用,是系统调用的上层。
二、综合应用题
01.说明库函数与系统调用的区别和联系。
库函数是语言或应用程序的一部分,可以运行在用户空间中。系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,并且许多库函数都使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时,需要上下文的切换及状态的转换(由用户态转向核心态)。
1.2.7本节习题精选
一、单项选择题
01.提高单机资源利用率的关键技术是()。
D
脱机技术是指在主机以外的设备上进行输入输出操作,需要时再送主机处理,以提高设备的利用率。虚拟技术与交换技术以多道程序设计技术为前提。多道程序设计技术由于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,因此提高了系统资源的利用率。
脱机技术是指在主机以外的设备上进行输入输出操作,需要时再送主机处理,以提高设备的利用率。虚拟技术与交换技术以多道程序设计技术为前提。多道程序设计技术由于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,因此提高了系统资源的利用率。
02.批处理系统的主要缺点是()。
D
批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,也因此才有了分时操作系统的出现。
批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,也因此才有了分时操作系统的出现。
03.下列选项中,不属于多道程序设计的基本特征的是()。
C
多道程序的运行环境比单道程序的运行环境更加复杂。引入多道程序后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。
多道程序的运行环境比单道程序的运行环境更加复杂。引入多道程序后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。
04.操作系统的基本类型主要有()。
B
操作系统的基本类型主要有批处理操作系统、分时操作系统和实时操作系统。
操作系统的基本类型主要有批处理操作系统、分时操作系统和实时操作系统。
05.实时操作系统必须在()内处理来自外部的事件。
B
实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理。
实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理。
06.()不是设计实时操作系统的主要追求目标。
B
实时性和可靠性是实时操作系统最重要的两个目标,而安全可靠体现了可靠性,快速处理和及时响应体现了实时性。资源利用率不是实时操作系统的主要目标,即为了保证快速处理高优先级任务,允许“浪费”一些系统资源。
实时性和可靠性是实时操作系统最重要的两个目标,而安全可靠体现了可靠性,快速处理和及时响应体现了实时性。资源利用率不是实时操作系统的主要目标,即为了保证快速处理高优先级任务,允许“浪费”一些系统资源。
07.下列()应用工作最好采用实时操作系统平台。
I.航空订票
Ⅱ.办公自动化
Ⅲ.机床控制
IV.AutoCAD
V.工资管理系统
VI.股票交易系统
D
实时操作系统主要应用在需要对外界输入立即做出反应的场合,不能有拖延,否则会产生严重后果。本题的选项中,航空订票系统需要实时处理票务,因为票额数据库的数量直接反映了航班的可订机位。机床控制也要实时,不然会出差错。股票交易行情随时在变,若不能实时交易会出现时间差,使交易出现偏差。
实时操作系统主要应用在需要对外界输入立即做出反应的场合,不能有拖延,否则会产生严重后果。本题的选项中,航空订票系统需要实时处理票务,因为票额数据库的数量直接反映了航班的可订机位。机床控制也要实时,不然会出差错。股票交易行情随时在变,若不能实时交易会出现时间差,使交易出现偏差。
08.下列关于分时系统的叙述中,错误的是()。
A
分时系统主要用于交互式作业而非批处理作业。分时系统中每个任务依次轮流使用时间片,这是一种公平的CPU分配策略。分时系统的响应时间好,因为分时系统采用了时间片轮转法来调度进程,可以使得每个任务在较短的时间内得到响应,提高用户的满意度。分时系统是一种多用户操作系统,因为分时系统可以支持多个终端同时连接到同一台计算机上。
分时系统主要用于交互式作业而非批处理作业。分时系统中每个任务依次轮流使用时间片,这是一种公平的CPU分配策略。分时系统的响应时间好,因为分时系统采用了时间片轮转法来调度进程,可以使得每个任务在较短的时间内得到响应,提高用户的满意度。分时系统是一种多用户操作系统,因为分时系统可以支持多个终端同时连接到同一台计算机上。
09.分时系统的一个重要性能是系统的响应时间,对操作系统的()因素进行改进有利于改善系统的响应时间。
C
采用优先级+非抢占式调度算法,既可使重要的作业/进程通过高优先级尽快获得系统响应,又可保证次要的作业进程在非抢占式调度下不会迟迟得不到系统响应,这样有利于改善系统的响应时间。加大时间片会延迟系统响应时间;静态页式管理和代码可重入与系统响应时间无关。
采用优先级+非抢占式调度算法,既可使重要的作业/进程通过高优先级尽快获得系统响应,又可保证次要的作业进程在非抢占式调度下不会迟迟得不到系统响应,这样有利于改善系统的响应时间。加大时间片会延迟系统响应时间;静态页式管理和代码可重入与系统响应时间无关。
10.分时系统追求的目标是()。
B
要求快速响应用户是导致分时系统出现的重要原因。
要求快速响应用户是导致分时系统出现的重要原因。
11.在分时系统中,时间片一定时,()响应时间越长。
C
分时系统中,当时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间就相应变长。注意,分时系统的响应时间T可表示为T≈QN,其中Q是时间片,而N是用户数。
分时系统中,当时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间就相应变长。注意,分时系统的响应时间T可表示为T≈QN,其中Q是时间片,而N是用户数。
12.在分时系统中,为使多个进程能够及时与系统交互,关键的问题是能在短时间内,使所有就绪进程都能运行。当就绪进程数为100时,为保证响应时间不超过2s,此时的时间片最大应为()。
B
响应时间不超过2s,即在2s内必须响应所有进程。所以时间片最大为2s/100=20ms
响应时间不超过2s,即在2s内必须响应所有进程。所以时间片最大为2s/100=20ms
13.操作系统有多种类型。允许多个用户以交互的方式使用计算机的操作系统,称为():允许多个用户将若干作业提交给计算机系统集中处理的操作系统,称为()方:在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并及时做出响应;在IBM-PC中,操作系统称为()
B、A、C、D
这是操作系统发展过程中的几种主要类型。
这是操作系统发展过程中的几种主要类型。
14.下列各种系统中,()可以使多个进程并行执行。
B
多个进程并发执行的系统是指在一段时间内宏观上有多个进程同时运行,但在单处理器系统中,每个时刻却只能有一道程序执行,所以微观上这些程序只能是分时地交替执行。只有多处理器系统才能使多个进程并行执行,每个处理器上分别运行不同的进程。
多个进程并发执行的系统是指在一段时间内宏观上有多个进程同时运行,但在单处理器系统中,每个时刻却只能有一道程序执行,所以微观上这些程序只能是分时地交替执行。只有多处理器系统才能使多个进程并行执行,每个处理器上分别运行不同的进程。
15.下列关于操作系统的叙述中,正确的是()。
B
实时操作系统要求能在规定时间内完成特定的功能。批处理操作系统不需要在响应时间内处理完一个任务。分时操作系统不要求在周转时间或调度时间内处理完外部事件。
实时操作系统要求能在规定时间内完成特定的功能。批处理操作系统不需要在响应时间内处理完一个任务。分时操作系统不要求在周转时间或调度时间内处理完外部事件。
16.引入多道程序技术的前提条件之一是系统具有()。
C
多道程序技术要求进程间能实现并发,需要实现进程调度以保证CPU的工作效率,而并发性的实现需要中断功能的支持。
多道程序技术要求进程间能实现并发,需要实现进程调度以保证CPU的工作效率,而并发性的实现需要中断功能的支持。
17.【2016统考真题】下列关于批处理系统的叙述中,正确的是()。
I.批处理系统允许多个用户与计算机直接交互
Ⅱ.批处理系统分为单道批处理系统和多道批处理系统
Ⅲ.中断技术使得多道批处理系统的I/O设备可与CPU并行工作
A
批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,I错误。批处理系统按发展历程又分为单道批处理系统、多道批处理系统,Ⅱ正确。多道程序设计技术允许把多个程序同时装入内存,并允许它们在CPU中交替运行,共享系统中的各种硬/软件资源,当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序,即多道批处理系统的I/O设备可与CPU并行工作,这是借助中断技术实现的,Ⅲ正确。
批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,I错误。批处理系统按发展历程又分为单道批处理系统、多道批处理系统,Ⅱ正确。多道程序设计技术允许把多个程序同时装入内存,并允许它们在CPU中交替运行,共享系统中的各种硬/软件资源,当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序,即多道批处理系统的I/O设备可与CPU并行工作,这是借助中断技术实现的,Ⅲ正确。
18.【2017统考真题】与单道程序系统相比,多道程序系统的优,点是()。
I.CPU利用率高
Ⅱ.系统开销小
Ⅲ.系统吞吐量大
IV.I/O设备利用率高
D
多道程序系统中总有一个作业在CPU上执行,因此提高了CPU的利用率、系统吞吐量和I/O设备利用率,I、Ⅲ、IV正确。但系统要付出额外的开销来组织作业和切换作业,Ⅱ错误。
多道程序系统中总有一个作业在CPU上执行,因此提高了CPU的利用率、系统吞吐量和I/O设备利用率,I、Ⅲ、IV正确。但系统要付出额外的开销来组织作业和切换作业,Ⅱ错误。
19.【2018统考真题】下列关于多任务操作系统的叙述中,正确的是()。
I.具有并发和并行的特点
Ⅱ.需要实现对共享资源的保护
Ⅲ.需要运行在多CPU的硬件平台上
C
现代操作系统都是多任务的,允许用户把程序分为若干个任务,使它们并发执行。在单CPU中,这些任务并发执行,即宏观上并行执行,微观上分时地交替执行:在多CPU中,这些任务是真正的并行执行。此外,引入中断之后才出现了多任务操作系统,而中断方式的特点是CPU与外设并行工作,因此I正确。多个任务必须互斥地访问共享资源,为达到这一目标必须对共享资源进行必要的保护,Ⅱ正确。多任务操作系统并不一定需要运行在多CPU的硬件上,单个CPU通过分时使用也能满足要求,Ⅲ错误。综上所述,I、Ⅱ正确,Ⅲ错误。
现代操作系统都是多任务的,允许用户把程序分为若干个任务,使它们并发执行。在单CPU中,这些任务并发执行,即宏观上并行执行,微观上分时地交替执行:在多CPU中,这些任务是真正的并行执行。此外,引入中断之后才出现了多任务操作系统,而中断方式的特点是CPU与外设并行工作,因此I正确。多个任务必须互斥地访问共享资源,为达到这一目标必须对共享资源进行必要的保护,Ⅱ正确。多任务操作系统并不一定需要运行在多CPU的硬件上,单个CPU通过分时使用也能满足要求,Ⅲ错误。综上所述,I、Ⅱ正确,Ⅲ错误。
20.【2022统考真题】下列关于多道程序系统的叙述中,不正确的是()。
D
操作系统的基本特点:并发、共享、虚拟、异步,其中最基本、一定要实现的是并发和共享。早期的多道批处理操作系统会将所有进程的数据全部调入主存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现多道程序并发。进程多并不意味着CPU利用率高,进程数量越多,进程之间的资源竞争越激烈,甚至可能因为资源竞争而出现死锁现象,导致CPU利用率低。
操作系统的基本特点:并发、共享、虚拟、异步,其中最基本、一定要实现的是并发和共享。早期的多道批处理操作系统会将所有进程的数据全部调入主存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现多道程序并发。进程多并不意味着CPU利用率高,进程数量越多,进程之间的资源竞争越激烈,甚至可能因为资源竞争而出现死锁现象,导致CPU利用率低。
二,综合应用题
01.有两个程序,程序A依次使用CPU计10s、设备甲计5s、CPU计5s、设备乙计10s、 CPU计10s;程序B依次使用设备甲计10s、CPU计10s、设备乙计5s、CPU计5s、设备乙计10s。在单道程序环境下先执行程序A再执行程序B,CPU的利用率是多少?在多道程序环境下,CPU利用率是多少?
02.设某计算机系统有一个CPU、一台输入设备、一台打印机。现有两个进程同时进入就绪态,且进程A先得到CPU运行,进程B后运行。进程A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。进程B的运行轨迹为:计算 50ms,输入数据80ms,再计算100ms,结束。画出它们的甘特图,并说明:
1)开始运行后,CPU有无空闲等待?若有,在哪段时间内等待?计算CPU的利用率。
2)进程A运行时有无等待现象?若有,在何时发生等待现象?
3)进程B运行时有无等待现象?若有,在何时发生等待现象?
1.3.4 本节习题精选
单项选择题
01.下列关于操作系统的说法中,错误的是()。
I.在通用操作系统管理下的计算机上运行程序,需要向操作系统预订运行时间
Ⅱ.在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始执行
Ⅲ.操作系统需要提供高级程序设计语言的编译器
IV.管理计算机系统资源是操作系统关心的主要问题
B
I错误:通用操作系统使用时间片轮转调度算法,用户运行程序并不需要预先预订运行时间。Ⅱ正确:操作系统执行程序时,必须从起始地址开始执行。Ⅲ错误:编译器是操作系统的上层软件,不是操作系统需要提供的功能。IV正确:操作系统是计算机资源的管理者,管理计算机系统资源是操作系统关心的主要问题。
I错误:通用操作系统使用时间片轮转调度算法,用户运行程序并不需要预先预订运行时间。Ⅱ正确:操作系统执行程序时,必须从起始地址开始执行。Ⅲ错误:编译器是操作系统的上层软件,不是操作系统需要提供的功能。IV正确:操作系统是计算机资源的管理者,管理计算机系统资源是操作系统关心的主要问题。
02.下列说法中,正确的是()。
I.批处理的主要缺点是需要大量内存
Ⅱ.当计算机提供了核心态和用户态时,输入输出指令必须在核心态下执行
Ⅲ,操作系统中采用多道程序设计技术的最主要原因是提高CPU和外部设备的可靠性
IV.操作系统中,通道技术是一种硬件技术
C
I错误:批处理的主要缺点是缺少交互性。批处理系统的主要缺点是常考点,读者对此要非常敏感。Ⅱ正确:输入输出指令属于特权指令,只能由操作系统使用,因此必须在核心态下执行。Ⅲ错误:多道性是为了提高系统利用率和吞吐量而提出的。IV正确:I/O通道实际上是一种特殊的处理器,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。
I错误:批处理的主要缺点是缺少交互性。批处理系统的主要缺点是常考点,读者对此要非常敏感。Ⅱ正确:输入输出指令属于特权指令,只能由操作系统使用,因此必须在核心态下执行。Ⅲ错误:多道性是为了提高系统利用率和吞吐量而提出的。IV正确:I/O通道实际上是一种特殊的处理器,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。
03.下列关于系统调用的说法中,正确的是()。
I.用户程序使用系统调用命令,该命令经过编译后形成若干参数和陷入指令
Ⅱ.用户程序使用系统调用命令,该命令经过编译后形成若干参数和屏蔽中断指令
Ⅲ.用户程序创建一个新进程,需使用操作系统提供的系统调用接口
IV.当操作系统完成用户请求的系统调用功能后,应使CPU从内核态转到用户态
C
系统调用需要触发陷入指令,如基于x86的Linux系统,该指令为int Ox80或sysenter,I正确。程序设计无法形成屏蔽中断指令,Ⅱ错误。用户程序通过系统调用进行进程控制,Ⅲ正确。执行系统调用时CPU状态要从用户态转到内核态,这是通过中断来实现的,当系统调用返回后,继续执行用户程序,同时CPU状态也从内核态转到用户态,IV正确。
系统调用需要触发陷入指令,如基于x86的Linux系统,该指令为int Ox80或sysenter,I正确。程序设计无法形成屏蔽中断指令,Ⅱ错误。用户程序通过系统调用进行进程控制,Ⅲ正确。执行系统调用时CPU状态要从用户态转到内核态,这是通过中断来实现的,当系统调用返回后,继续执行用户程序,同时CPU状态也从内核态转到用户态,IV正确。
04.()是操作系统必须提供的功能。
C
中断是操作系统必须提供的功能,因为计算机的各种错误都需要中断处理,核心态与用户态切换也需要中断处理。
中断是操作系统必须提供的功能,因为计算机的各种错误都需要中断处理,核心态与用户态切换也需要中断处理。
05.用户程序在用户态下要使用特权指令引起的中断属于()。
D
由于操作系统不允许用户直接执行某些可能损害机器的指令(特权指令),它们只能在核心态下运行,因此用户程序在用户态下使用特权指令会引起访管中断(也称陷入中断),即用户程序需要通过一条访管指令(也称陷入指令)切换到核心态,以请求操作系统内核为其服务。注意区分非法指令和特权指令:非法指令是指CPU无法识别或执行的指令,比如一个不存在的操作码:特权指令是指只能在核心态下执行的指令,比如/O指令、关中断指令等。
由于操作系统不允许用户直接执行某些可能损害机器的指令(特权指令),它们只能在核心态下运行,因此用户程序在用户态下使用特权指令会引起访管中断(也称陷入中断),即用户程序需要通过一条访管指令(也称陷入指令)切换到核心态,以请求操作系统内核为其服务。注意区分非法指令和特权指令:非法指令是指CPU无法识别或执行的指令,比如一个不存在的操作码:特权指令是指只能在核心态下执行的指令,比如/O指令、关中断指令等。
06.处理器执行的指令被分为两类,其中有一类称为特权指令,它只允许()使用。
D
内核可以执行处理器能执行的任何指令,用户程序只能执行除特权指令外的指令。所以特权指令只能由内核即操作系统使用。
内核可以执行处理器能执行的任何指令,用户程序只能执行除特权指令外的指令。所以特权指令只能由内核即操作系统使用。
07.在中断发生后,进入中断处理的程序属于()。
C
当中断或异常发生时,通过硬件实现将运行在用户态的CU立即转入核心态。中断发生时,若被中断的是用户程序,则系统将从目态转入管态,在管态下进行中断的处理:若被中断的是低级中断,则仍然保持在管态,而用户程序只能在目态下运行,因此进入中断处理的程序只能是 OS程序。被中断程序本身可能是用户程序,但是进入中断的处理程序一定是OS程序。
当中断或异常发生时,通过硬件实现将运行在用户态的CU立即转入核心态。中断发生时,若被中断的是用户程序,则系统将从目态转入管态,在管态下进行中断的处理:若被中断的是低级中断,则仍然保持在管态,而用户程序只能在目态下运行,因此进入中断处理的程序只能是 OS程序。被中断程序本身可能是用户程序,但是进入中断的处理程序一定是OS程序。
08.计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换则是由()完成的。
A
计算机通过硬件中断机制完成由用户态到核心态的转换。B显然不正确,核心态程序只有在操作系统进入核心态后才可以执行。D中的中断处理程序一般也在核心态执行,因此无法完成“转换成核心态”这一任务。若由用户程序将操作系统由用户态转换到核心态,则用户程序中就可使用核心态指令,这就会威胁到计算机的安全,所以C不正确。
计算机通过硬件完成操作系统由用户态到核心态的转换,这是通过中断机制来实现的。发生中断事件时,由硬件中断机制将计算机状态置为核心态。
计算机通过硬件中断机制完成由用户态到核心态的转换。B显然不正确,核心态程序只有在操作系统进入核心态后才可以执行。D中的中断处理程序一般也在核心态执行,因此无法完成“转换成核心态”这一任务。若由用户程序将操作系统由用户态转换到核心态,则用户程序中就可使用核心态指令,这就会威胁到计算机的安全,所以C不正确。
计算机通过硬件完成操作系统由用户态到核心态的转换,这是通过中断机制来实现的。发生中断事件时,由硬件中断机制将计算机状态置为核心态。
09.可在用户态执行的指令是()。
C
屏蔽中断指令、设置时钟指令、停机指令都是特权指令,操作不当会损害机器。修改内存单元的值是非特权指令,可以在用户态下执行,但是进程只能访问自己的用户空间。
屏蔽中断指令、设置时钟指令、停机指令都是特权指令,操作不当会损害机器。修改内存单元的值是非特权指令,可以在用户态下执行,但是进程只能访问自己的用户空间。
10.在操作系统中,只能在核心态下运行的指令是()。
B
大多数计算机操作系统的内核包括四个方面的内容,即时钟管理、中断机制、原语和系统控制的数据结构及处理,其中第4部分实际上是系统调用类的指令(广义指令)。A、C和D三项均可以在汇编语言中涉及,因此都可以运行在用户态。从另外的角度考虑,若在用户态下允许执行“置时钟指令”,则一个用户进程可在时间片还未到之前把时钟改回去,从而导致时间片永远不会用完,进而导致该用户进程一直占用CPU,这显然是不合理的。
注意:操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户.系统调用将应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,那么用户将不能编写大型应用程序。
大多数计算机操作系统的内核包括四个方面的内容,即时钟管理、中断机制、原语和系统控制的数据结构及处理,其中第4部分实际上是系统调用类的指令(广义指令)。A、C和D三项均可以在汇编语言中涉及,因此都可以运行在用户态。从另外的角度考虑,若在用户态下允许执行“置时钟指令”,则一个用户进程可在时间片还未到之前把时钟改回去,从而导致时间片永远不会用完,进而导致该用户进程一直占用CPU,这显然是不合理的。
注意:操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户.系统调用将应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,那么用户将不能编写大型应用程序。
11.下列程序中,不工作在内核态的是()。
A
命令解释程序属于命令接口,能面对用户,在用户态下执行。磁盘调度程序、中断处理程序和进程调度程序都工作在内核态,因为它们需要管理硬件资源和进程状态。
命令解释程序属于命令接口,能面对用户,在用户态下执行。磁盘调度程序、中断处理程序和进程调度程序都工作在内核态,因为它们需要管理硬件资源和进程状态。
12.“访管”指令()使用。
A
“访管”指令仅在用户态下使用,执行“访管”指令将用户态转变为核心态。
“访管”指令仅在用户态下使用,执行“访管”指令将用户态转变为核心态。
13.当CPU执行操作系统代码时,处理器处于()。
C
运行操作系统代码的状态为核心态。
运行操作系统代码的状态为核心态。
14.在操作系统中,只能在核心态下执行的指令是()。
C
系统调用命令必然工作在核心态。注意区分调用和执行,系统调用的调用可能发生在用户态,调用系统调用的那条指令不一定是特权指令,但系统调用的执行一定在核心态。
系统调用命令必然工作在核心态。注意区分调用和执行,系统调用的调用可能发生在用户态,调用系统调用的那条指令不一定是特权指令,但系统调用的执行一定在核心态。
15.下列选项中,必须在核心态下执行的指令是()。
D
输入输出指令是特权指令,涉及中断操作,而中断处理是由系统内核负责的,工作在核心态。而A、B、C项均可通过使用汇编语言编程来实现,因此它们可在用户态下执行。
输入输出指令是特权指令,涉及中断操作,而中断处理是由系统内核负责的,工作在核心态。而A、B、C项均可通过使用汇编语言编程来实现,因此它们可在用户态下执行。
16.CPU处于核心态时,它可以执行的指令是()。
D
访管指令在用户态下使用,是用户程序“自愿进管”的手段,用户态下不能执行特权指令。在核心态下,CPU可以执行指令系统中的任何指令。
访管指令在用户态下使用,是用户程序“自愿进管”的手段,用户态下不能执行特权指令。在核心态下,CPU可以执行指令系统中的任何指令。
17.()程序可执行特权指令。
B
特权指令是指仅能由操作系统使用的指令。
特权指令是指仅能由操作系统使用的指令。
18.下列中断事件中,能引起外部中断的事件是()。
I.时钟中断
Ⅱ.访管中断
Ⅲ.缺页中断
A
外部中断是由CPU外部的事件引起的,如I/O设备的请求、时钟信号等。内部中断(也称异常)是由CPU内部的事件引起的,如访管指令、缺页异常等。
外部中断是由CPU外部的事件引起的,如I/O设备的请求、时钟信号等。内部中断(也称异常)是由CPU内部的事件引起的,如访管指令、缺页异常等。
19.下列关于库函数和系统调用的说法中,不正确的是()。
C
库函数是指被封装在库文件中的可复用的代码块,运行在用户态:而系统调用是面向硬件的,运行在内核态,是操作系统为用户提供的接口。库函数可以很方便地调试,而系统调用很麻烦,因为它运行在内核态。库函数可以很方便地替换,而系统调用通常不可替换。库函数属于过程调用,开销较小;系统调用需要在用户空间和内核空间中进行上下文切换,开销较大。
库函数是指被封装在库文件中的可复用的代码块,运行在用户态:而系统调用是面向硬件的,运行在内核态,是操作系统为用户提供的接口。库函数可以很方便地调试,而系统调用很麻烦,因为它运行在内核态。库函数可以很方便地替换,而系统调用通常不可替换。库函数属于过程调用,开销较小;系统调用需要在用户空间和内核空间中进行上下文切换,开销较大。
20.下列关于系统调用和一般过程调用的说法中,正确的是()。
B
系统调用需要保存PSW和PC的值,一般过程调用只需保存PC的值,A错误。系统调用的被调用过程是操作系统中的程序,是系统级程序,必须运行在内核态,B正确。一般过程调用的被调用程序与调用程序运行在同一个状态,可能是系统态,也可能是用户态,C和D错误。
系统调用需要保存PSW和PC的值,一般过程调用只需保存PC的值,A错误。系统调用的被调用过程是操作系统中的程序,是系统级程序,必须运行在内核态,B正确。一般过程调用的被调用程序与调用程序运行在同一个状态,可能是系统态,也可能是用户态,C和D错误。
21.用户在程序中试图读某文件的第100个逻辑块,使用操作系统提供的()接口。
A
操作系统通过系统调用向用户程序提供服务,文件I/O需要在内核态运行。
操作系统通过系统调用向用户程序提供服务,文件I/O需要在内核态运行。
22.【2011统考真题】下列选项中,在用户态执行的是()。
A
缺页处理和时钟中断都属于中断,在核心态执行:进程调度是操作系统内核进程,无须用户干预,在核心态执行:命令解释程序属于命令接口,是面对用户的,在用户态执行。
缺页处理和时钟中断都属于中断,在核心态执行:进程调度是操作系统内核进程,无须用户干预,在核心态执行:命令解释程序属于命令接口,是面对用户的,在用户态执行。
23.【2012统考真题】下列选项中,不可能在用户态发生的事件是()。
C
本题的关键是对“在用户态发生”(注意与“在用户态执行”区分)的理解。对于A,系统调用是操作系统提供给用户程序的接口,系统调用发生在用户态,被调用程序在核心态下执行。对于B,外部中断是用户态到核心态的“门”,也发生在用户态,在核心态完成中断处理过程。对于C,进程切换属于系统调用执行过程中的事件,只能发生在核心态:对于D,缺页产生后,在用户态发生缺页中断,然后进入核心态执行缺页中断服务程序。
本题的关键是对“在用户态发生”(注意与“在用户态执行”区分)的理解。对于A,系统调用是操作系统提供给用户程序的接口,系统调用发生在用户态,被调用程序在核心态下执行。对于B,外部中断是用户态到核心态的“门”,也发生在用户态,在核心态完成中断处理过程。对于C,进程切换属于系统调用执行过程中的事件,只能发生在核心态:对于D,缺页产生后,在用户态发生缺页中断,然后进入核心态执行缺页中断服务程序。
24.【2012统考真题】中断处理和子程序调用都需要压栈,以便保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是()。
B
子程序调用不改变程序的状态,因为子程序调用是编译器可控流程,而中断不是。以程序 if(a==b)为例,它通常包含一条测试指令,以及一条根据标志位决定是否需要跳转来调用子程序的指令。编译器不在这两条指令中间插入任何子程序调用代码,因此标志位不变,但中断却随时可能发生,导致标志位改变。具体地说,执行if(a==b)时,会进行a-b操作,并生成相应的标志位,进而根据标志位来判断是否发生跳转。假设刚好在生成相应的标志位后发生了中断,若不保存 PSW 的内容,则后续根据标志位来进行跳转的流程就可能发生错误。但是,若进行了子程序调用,则说明已经根据a-b的标志位进行了跳转,此时PSW的内容已无意义而无须保存。综上所述,中断处理和子程序调用都有可能使PSW的内容发生变化,但中断处理程序执行完返回后,可能需要用到PSW原来的内容,子程序执行完返回后,一定不需要用到PSW原来的内容,因此选B。 A项都会保存,C和D项不一定会保存。
子程序调用不改变程序的状态,因为子程序调用是编译器可控流程,而中断不是。以程序 if(a==b)为例,它通常包含一条测试指令,以及一条根据标志位决定是否需要跳转来调用子程序的指令。编译器不在这两条指令中间插入任何子程序调用代码,因此标志位不变,但中断却随时可能发生,导致标志位改变。具体地说,执行if(a==b)时,会进行a-b操作,并生成相应的标志位,进而根据标志位来判断是否发生跳转。假设刚好在生成相应的标志位后发生了中断,若不保存 PSW 的内容,则后续根据标志位来进行跳转的流程就可能发生错误。但是,若进行了子程序调用,则说明已经根据a-b的标志位进行了跳转,此时PSW的内容已无意义而无须保存。综上所述,中断处理和子程序调用都有可能使PSW的内容发生变化,但中断处理程序执行完返回后,可能需要用到PSW原来的内容,子程序执行完返回后,一定不需要用到PSW原来的内容,因此选B。 A项都会保存,C和D项不一定会保存。
25.【2013统考真题】下列选项中,会导致用户进程从用户态切换到内核态的操作是()。
I.整数除以零
Ⅱ.sin()函数调用
Ⅲ.read系统调用
B
需要在系统内核态执行的操作是整数除零操作(需要中断处理)和read系统调用函数,sinO函数调用是在用户态下进行的。
需要在系统内核态执行的操作是整数除零操作(需要中断处理)和read系统调用函数,sinO函数调用是在用户态下进行的。
26.【2014统考真题】下列指令中,不能在用户态执行的是()。
D
trap指令、跳转指令和压栈指令均可以在用户态执行,其中trap指令负责由用户态转换为内核态。关中断指令为特权指令,必须在核心态才能执行。注意,在操作系统中,关中断指令是权限非常大的指令,因为中断是现代操作系统正常运行的核心保障之一,能把它关掉,说明执行这条指令的一定是权限非常大的机构(管态)。
trap指令、跳转指令和压栈指令均可以在用户态执行,其中trap指令负责由用户态转换为内核态。关中断指令为特权指令,必须在核心态才能执行。注意,在操作系统中,关中断指令是权限非常大的指令,因为中断是现代操作系统正常运行的核心保障之一,能把它关掉,说明执行这条指令的一定是权限非常大的机构(管态)。
28.【2015统考真题】假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是()。
C
部分指令可能出现异常,从而转到核心态。指令A有除零异常的可能。指令B为软中断指令,用于触发一个中断并跳转到相应的中断处理程序,“n”表示中断向量号,使用软中断可以在用户态和内核态之间切换,以实现系统调用。指令D有缺页异常的可能。指令C不会发生异常。
部分指令可能出现异常,从而转到核心态。指令A有除零异常的可能。指令B为软中断指令,用于触发一个中断并跳转到相应的中断处理程序,“n”表示中断向量号,使用软中断可以在用户态和内核态之间切换,以实现系统调用。指令D有缺页异常的可能。指令C不会发生异常。
29.【2016统考真题】异常是指令执行过程中在处理器内部发生的特殊事件,中断是来自处理器外部的请求事件。下列关于中断或异常情况的叙述中,错误的是()。
A
中断是指来自CPU执行指令以外事件,如设备发出的I/O结束中断,表示设备输入/输出已完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。异常也称内中断,指源自CPU执行指令内部的事件。A错误。
中断是指来自CPU执行指令以外事件,如设备发出的I/O结束中断,表示设备输入/输出已完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。异常也称内中断,指源自CPU执行指令内部的事件。A错误。
30.【2017统考真题】执行系统调用的过程包括如下主要操作:
①返回用户态
②执行陷入(trap)指令
③传递系统调用参数
④执行相应的服务程序
正确的执行顺序是()。
C
执行系统调用的过程:正在运行的进程先传递系统调用参数,然后由陷入(trp)指令负责将用户态转换为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态。
执行系统调用的过程:正在运行的进程先传递系统调用参数,然后由陷入(trp)指令负责将用户态转换为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态。
31.【2018统考真题】定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是()
I.内核中时钟变量的值
Ⅱ.当前进程占用CPU的时间
Ⅲ.当前进程在时间片内的剩余执行时间
D
时钟中断的主要工作是处理和时间有关的信息及决定是否执行调度程序。和时间有关的所有信息包括系统时间、进程的时间片、延时、使用CPU的时间、各种定时器。
时钟中断的主要工作是处理和时间有关的信息及决定是否执行调度程序。和时间有关的所有信息包括系统时间、进程的时间片、延时、使用CPU的时间、各种定时器。
32.【2019统考真题】下列关于系统调用的叙述中,正确的是()。
I.在执行系统调用服务程序的过程中,CPU处于内核态
Ⅱ.操作系统通过提供系统调用避免用户程序直接访问外设
Ⅲ.不同的操作系统为应用程序提供了统一的系统调用接口
IV.系统调用是操作系统内核为应用程序提供服务的接口
C
用户可以在用户态调用操作系统的服务,但执行具体的系统调用服务程序是处于内核态的, I正确;设备管理属于操作系统的职能之一,包括对输入/输出设备的分配、初始化、维护等,用户程序需要通过系统调用使用操作系统的设备管理服务,Ⅱ正确;操作系统不同,底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同,Ⅲ错误;系统调用是用户在程序中调用操作系统提供的子功能,IV正确。
用户可以在用户态调用操作系统的服务,但执行具体的系统调用服务程序是处于内核态的, I正确;设备管理属于操作系统的职能之一,包括对输入/输出设备的分配、初始化、维护等,用户程序需要通过系统调用使用操作系统的设备管理服务,Ⅱ正确;操作系统不同,底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同,Ⅲ错误;系统调用是用户在程序中调用操作系统提供的子功能,IV正确。
33.【2020统考真题】下列与中断相关的操作中,由操作系统完成的是()。
I.保存被中断程序的中断点
Ⅱ.提供中断服务
Ⅲ.初始化中断向量表
IV.保存中断屏蔽字
D
当CPU检测到中断信号后,由硬件自动保存被中断程序的断点[程序计数器(PC)和程序状态字寄存器(PSW)],I错误。之后,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化,Ⅲ正确)。接下来开始执行中断服务程序,保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统内核,Ⅱ和IV正确。
当CPU检测到中断信号后,由硬件自动保存被中断程序的断点[程序计数器(PC)和程序状态字寄存器(PSW)],I错误。之后,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化,Ⅲ正确)。接下来开始执行中断服务程序,保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统内核,Ⅱ和IV正确。
34.【2021统考真题】下列指令中,只能在内核态执行的是()。
B
在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令,而特权指令只能在内核态下执行。常见的特权指令有:①有关对I/O设备操作的指令:②有关访问程序状态的指令;③存取特殊寄存器的指令:④其他指令。A、C和D都是提供给用户使用的指令,可以在用户态执行,只是可能会使CPU从用户态切换到内核态。
在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令,而特权指令只能在内核态下执行。常见的特权指令有:①有关对I/O设备操作的指令:②有关访问程序状态的指令;③存取特殊寄存器的指令:④其他指令。A、C和D都是提供给用户使用的指令,可以在用户态执行,只是可能会使CPU从用户态切换到内核态。
35.【2021统考真题】下列选项中,通过系统调用完成的操作是()。
C
系统调用是由用户进程发起的,请求操作系统的服务。对于A,当内存中的空闲页框不够时,操作系统会将某些页面调出,并将要访问的页面调入,这个过程完全由操作系统完成,不涉及系统调用。对于B,进程调度完全由操作系统完成,无法通过系统调用完成。对于C,创建新进程可以通过系统调用来完成,如Liux中通过fork系统调用来创建子进程。对于D,生成随机数是普通的函数调用,不涉及请求操作系统的服务,如C语言的random()函数。
系统调用是由用户进程发起的,请求操作系统的服务。对于A,当内存中的空闲页框不够时,操作系统会将某些页面调出,并将要访问的页面调入,这个过程完全由操作系统完成,不涉及系统调用。对于B,进程调度完全由操作系统完成,无法通过系统调用完成。对于C,创建新进程可以通过系统调用来完成,如Liux中通过fork系统调用来创建子进程。对于D,生成随机数是普通的函数调用,不涉及请求操作系统的服务,如C语言的random()函数。
36.【2022统考真题】下列关于CPU模式的叙述中,正确的是()。
C
CPU在用户态时只能执行非特权指令,在内核态时可以执行特权指令和非特权指令。
CPU在用户态时只能执行非特权指令,在内核态时可以执行特权指令和非特权指令。
37.【2022统考真题】执行系统调用的过程涉及下列操作,其中由操作系统完成的是()。
I.保存断点和程序状态字
Ⅱ.保存通用寄存器的内容
Ⅲ.执行系统调用服务例程
IV.将CPU模式改为内核态
B
发生系统调用时,CPU通过执行软中断指令将CPU的运行状态从用户态切换到内核态,这个过程与中断和异常的响应过程相同,由硬件负责保存断点和程序状态字,并将CPU模式改为内核态。然后,执行操作系统内核的系统调用入口程序,该内核程序负责保存通用寄存器的内容,再调用执行特定的系统调用服务例程。综上,I、IV由硬件完成,Ⅱ、Ⅲ由操作系统完成。
发生系统调用时,CPU通过执行软中断指令将CPU的运行状态从用户态切换到内核态,这个过程与中断和异常的响应过程相同,由硬件负责保存断点和程序状态字,并将CPU模式改为内核态。然后,执行操作系统内核的系统调用入口程序,该内核程序负责保存通用寄存器的内容,再调用执行特定的系统调用服务例程。综上,I、IV由硬件完成,Ⅱ、Ⅲ由操作系统完成。
38.【2023统考真题】在操作系统内核中,中断向量表适合采用的数据结构是()。
A
本题考查了“计算机组成原理”的考点,并且综合了“数据结构”的内容。中断向量表用于存放中断处理程序的入口地址,CPU通过查询得到中断类型号,然后据此计算可以得到对应中断服务程序的入口地址在中断向量表的位置,采用数组作为中断向量表的存储结构,可实现时间为 O(1)的快速访问,从而提高中断处理的效率。
本题考查了“计算机组成原理”的考点,并且综合了“数据结构”的内容。中断向量表用于存放中断处理程序的入口地址,CPU通过查询得到中断类型号,然后据此计算可以得到对应中断服务程序的入口地址在中断向量表的位置,采用数组作为中断向量表的存储结构,可实现时间为 O(1)的快速访问,从而提高中断处理的效率。
1.6.2本节习题精选
单项选择题
01.用()设计的操作系统结构清晰且便于调试。
A
分层式结构简化了系统的设计和实现,每层只能调用紧邻它的低层的功能和服务:便于系统的调试和验证,在调试某层时发现错误,那么错误应在这层上,这是因为其低层都已调试好。
分层式结构简化了系统的设计和实现,每层只能调用紧邻它的低层的功能和服务:便于系统的调试和验证,在调试某层时发现错误,那么错误应在这层上,这是因为其低层都已调试好。
02.下列关于分层式结构操作系统的说法中,()是错误的。
C
单向依赖是分层式OS的特点。分层式OS中增加或替换一个层中的模块或整层时,只要不改变相应层间的接口,就不会影响其他层,因而易于扩充和维护。层次定义好后,相当于各层之间的依赖关系也就固定了,因此往往显得不够灵活,选项C错误。每执行一个功能,通常都要自上而下地穿越多层,增加了额外的开销,导致系统效率降低。
单向依赖是分层式OS的特点。分层式OS中增加或替换一个层中的模块或整层时,只要不改变相应层间的接口,就不会影响其他层,因而易于扩充和维护。层次定义好后,相当于各层之间的依赖关系也就固定了,因此往往显得不够灵活,选项C错误。每执行一个功能,通常都要自上而下地穿越多层,增加了额外的开销,导致系统效率降低。
03.在操作系统结构设计中,层次结构的操作系统最显著的不足是()。
C
在层次结构中,每个层次都可以访问相邻的高层或低层,但不能跨越多个层次,A错误。层次结构的操作系统确实会增加一些复杂度和开销,但这不是最显著的不足,如果设计得当,层次结构可以提高效率和可靠性,因为每一层都可以独立地进行优化和测试,B错误。层次结构需要对每层精心的划分和设计,而且要保证接口的一致性和完备性,这是一个非常复杂的过程,而且很难做到完美,C正确。层次结构不限制模块的数量,只将模块按照功能和依赖关系分成不同的层次,层次结构可以有很多模块,只要它们符合层次结构的原则,D错误。
在层次结构中,每个层次都可以访问相邻的高层或低层,但不能跨越多个层次,A错误。层次结构的操作系统确实会增加一些复杂度和开销,但这不是最显著的不足,如果设计得当,层次结构可以提高效率和可靠性,因为每一层都可以独立地进行优化和测试,B错误。层次结构需要对每层精心的划分和设计,而且要保证接口的一致性和完备性,这是一个非常复杂的过程,而且很难做到完美,C正确。层次结构不限制模块的数量,只将模块按照功能和依赖关系分成不同的层次,层次结构可以有很多模块,只要它们符合层次结构的原则,D错误。
04.下列选项中,()不属于模块化操作系统的特点。
B
模块化操作系统的各功能模块都在内核中,且模块之间相互调用、相互依赖,任何一个模块出错,都可能导致整个内核崩溃。B项的设置属于“移花接木”,正确的说法应该是:在微内核操作系统中,内核外的某个功能模块出错不会导致整个系统崩溃,可靠性高。
模块化操作系统的各功能模块都在内核中,且模块之间相互调用、相互依赖,任何一个模块出错,都可能导致整个内核崩溃。B项的设置属于“移花接木”,正确的说法应该是:在微内核操作系统中,内核外的某个功能模块出错不会导致整个系统崩溃,可靠性高。
05.相对于微内核系统,()不属于大内核操作系统的缺点。
C
微内核和宏内核作为两种对立的结构,它们的优缺点也是对立的。微内核OS的主要缺点是性能问题,因为需要频繁地在核心态和用户态之间进行切换,因而切换开销偏大。
微内核和宏内核作为两种对立的结构,它们的优缺点也是对立的。微内核OS的主要缺点是性能问题,因为需要频繁地在核心态和用户态之间进行切换,因而切换开销偏大。
06.下列说法中,()不适合描述微内核操作系统。
B
功能分层设计是分层式OS的特点。通常可以从四个方面来描述微内核OS:①内核足够小:②基于客户/服务器模式:③应用“机制与策略分离”原理;④采用面向对象技术。
功能分层设计是分层式OS的特点。通常可以从四个方面来描述微内核OS:①内核足够小:②基于客户/服务器模式:③应用“机制与策略分离”原理;④采用面向对象技术。
07.对于以下五种服务,在采用微内核结构的操作系统中,()不宜放在微内核中。
I.进程间通信机制
Ⅱ.低级I/O
Ⅲ.低级进程管理和调度
IV.中断和陷入处理
V.文件系统服务
C
进程(线程)之间的通信功能是微内核最频繁使用的功能,因此几乎所有微内核OS都将其放入微内核。低级I/O和硬件紧密相关,因此应放入微内核。低级进程管理和调度属于调度功能的机制部分,应将它放入微内核。微内核OS将与硬件紧密相关的一小部分放入微内核处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,识别中断或陷入的事件后,再发送给相关的服务器处理,故中断和陷入处理也应放入微内核。而文件系统服务是放在微内核外的文件服务器中实现的,故仅V不宜放在微内核中。
进程(线程)之间的通信功能是微内核最频繁使用的功能,因此几乎所有微内核OS都将其放入微内核。低级I/O和硬件紧密相关,因此应放入微内核。低级进程管理和调度属于调度功能的机制部分,应将它放入微内核。微内核OS将与硬件紧密相关的一小部分放入微内核处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,识别中断或陷入的事件后,再发送给相关的服务器处理,故中断和陷入处理也应放入微内核。而文件系统服务是放在微内核外的文件服务器中实现的,故仅V不宜放在微内核中。
08.相对于传统操作系统结构,采用微内核结构设计和实现操作系统有诸多好处,下列()是微内核结构的特点。
I.使系统更高效
Ⅱ.添加系统服务时,不必修改内核
Ⅲ.微内核结构没有单一内核稳定
IV.使系统更可靠
C
微内核结构需要频繁地在管态和目态之间进行切换,操作系统的执行开销相对偏大,那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信,影响了系统的效率,因此I不是优势。由于内核的服务变少,且一般来说内核的服务越少内核越稳定,所以Ⅲ错误。而Ⅱ、IV正是微内核结构的优点。
微内核结构需要频繁地在管态和目态之间进行切换,操作系统的执行开销相对偏大,那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信,影响了系统的效率,因此I不是优势。由于内核的服务变少,且一般来说内核的服务越少内核越稳定,所以Ⅲ错误。而Ⅱ、IV正是微内核结构的优点。
09.下列关于操作系统结构的说法中,正确的是()。
I.当前广泛使用的Windows操作系统,采用的是分层式OS结构
Ⅱ.模块化的OS结构设计的基本原则是,每一层都仅使用其底层所提供的功能和服务,这样就使系统的调试和验证都变得容易
Ⅲ.由于微内核结构能有效支持多处理机运行,故非常适合于分布式系统环境
IV.采用微内核结构设计和实现操作系统具有诸多好处,如添加系统服务时,不必修改内核、使系统更高效。
C
Windows是融合了宏内核和微内核的操作系统,I错误。Ⅱ描述的是层次化构架的原则。微内核架构将操作系统的核心功能和其他服务分离,使不同的服务可在不同的处理器上并行执行,提高了系统的并发性和可扩展性;微内核架构可以方便地实现进程间的通信和同步,支持服务器之间的消息传递和远程过程调用,使得分布式系统的开发和管理更简单和高效,Ⅲ正确。添加系统服务时不必修改内核,这就使得微内核构架的可扩展性和灵活性更强:微内核构架的主要问题是性能问题,“使系统更高效”显然错误。
Windows是融合了宏内核和微内核的操作系统,I错误。Ⅱ描述的是层次化构架的原则。微内核架构将操作系统的核心功能和其他服务分离,使不同的服务可在不同的处理器上并行执行,提高了系统的并发性和可扩展性;微内核架构可以方便地实现进程间的通信和同步,支持服务器之间的消息传递和远程过程调用,使得分布式系统的开发和管理更简单和高效,Ⅲ正确。添加系统服务时不必修改内核,这就使得微内核构架的可扩展性和灵活性更强:微内核构架的主要问题是性能问题,“使系统更高效”显然错误。
10.下列关于微内核操作系统的描述中,不正确的是()。
B
微内核会增加一些开销,如上下文切换、消息传递、数据拷贝等。这些开销会降低操作系统的执行效率,尤其是对一些频繁调用的服务。A、C、D项均正确。
微内核会增加一些开销,如上下文切换、消息传递、数据拷贝等。这些开销会降低操作系统的执行效率,尤其是对一些频繁调用的服务。A、C、D项均正确。
11.下列关于操作系统外核(exokernel)的说法中,错误的是()。
C
在拥有外核的操作系统中,外核只负责硬件资源的分配、回收、保护等,进程管理相关的工作仍然由内核负责。
在拥有外核的操作系统中,外核只负责硬件资源的分配、回收、保护等,进程管理相关的工作仍然由内核负责。
12.对于计算机操作系统引导,描述不正确的是()。
C
常驻内存的只是操作系统内核,其他部分仅在需要时才调入。
常驻内存的只是操作系统内核,其他部分仅在需要时才调入。
13.存放操作系统自举程序的芯片是()。
C
BIOS(基本输入/输出系统)是一组固化在主板的ROM芯片上的程序,它包含系统设置程序、基本输入/输出程序、开机自检程序和系统启动自举程序等。
BIOS(基本输入/输出系统)是一组固化在主板的ROM芯片上的程序,它包含系统设置程序、基本输入/输出程序、开机自检程序和系统启动自举程序等。
14.计算机操作系统的引导程序位于()中。
D
操作系统的引导程序位于磁盘活动分区的引导扇区中。引导程序分为两种:一种是位于ROM中的自举程序(BIOS的组成部分),用于启动具体的设备:另一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),用于引导操作系统。
操作系统的引导程序位于磁盘活动分区的引导扇区中。引导程序分为两种:一种是位于ROM中的自举程序(BIOS的组成部分),用于启动具体的设备:另一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),用于引导操作系统。
15.计算机的启动过程是()。
①CPU加电,CS:IP指向FFFFOH;
②进行操作系统引导;
③执行JMP指令跳转到BIOS;
④登记BIOS中断程序入口地址;
⑤硬件自检。
C
CPU激活后,从顶端的地址FFFFOH获得第一条执行的指令,这个地址仅有16字节,放不下一段程序,所以是一条MP指令,以跳到更低地址去执行BIOS程序。BIOS程序在内存最开始的空间构建中断向量表和相应服务程序,在后续POST过程中要用到中断调用等功能。然后进行通电自检(Power--on Self Test,POST)以检测硬件是否有故障。完成POST后,BIOS需要在硬盘、光驱或软驱等存储设备搜寻操作系统内核的位置以启动操作系统。
CPU激活后,从顶端的地址FFFFOH获得第一条执行的指令,这个地址仅有16字节,放不下一段程序,所以是一条MP指令,以跳到更低地址去执行BIOS程序。BIOS程序在内存最开始的空间构建中断向量表和相应服务程序,在后续POST过程中要用到中断调用等功能。然后进行通电自检(Power--on Self Test,POST)以检测硬件是否有故障。完成POST后,BIOS需要在硬盘、光驱或软驱等存储设备搜寻操作系统内核的位置以启动操作系统。
16.检查分区表是否正确,确定那个分区为活动分区,并在程序结束时将该分区的启动程序(操作系统引导扇区)调入内存加以执行,这是()的任务。
A
BIOS将控制权交给排在首位的启动设备后,CPU将该设备主引导扇区的内容[主引导记录(MBR)]加载到内存中,然后由MBR检查分区表,查找活动分区,并将该分区的引导扇区的内容[分区引导记录(PBR)]加载到内存加以执行。
BIOS将控制权交给排在首位的启动设备后,CPU将该设备主引导扇区的内容[主引导记录(MBR)]加载到内存中,然后由MBR检查分区表,查找活动分区,并将该分区的引导扇区的内容[分区引导记录(PBR)]加载到内存加以执行。
17.下列关于虚拟机的说法中,正确的是()。
I.虚拟机可以用软件实现
Ⅱ.虚拟机可以用硬件实现
Ⅲ.多台虚拟机可同时运行在同一物理机器上,它实现了真正的并行
A
软件能实现的功能也能由硬件实现,因为虚拟机软件能实现的功能也能由硬件实现,软件和硬件的分界面是系统结构设计者的任务,I和Ⅱ正确。实现真正并行的是多核处理机,多台虚拟机同时运行在同一物理机器上,类似于多个程序运行在同一个系统中。
软件能实现的功能也能由硬件实现,因为虚拟机软件能实现的功能也能由硬件实现,软件和硬件的分界面是系统结构设计者的任务,I和Ⅱ正确。实现真正并行的是多核处理机,多台虚拟机同时运行在同一物理机器上,类似于多个程序运行在同一个系统中。
18.下列关于VMware Workstation虚拟机的说法中,错误的是()。
B
VMware Workstation虚拟机属于第二类虚拟机管理程序,如果真实硬件直接执行虚拟机中的敏感指令,那么该指令非法时可能会导致宿主操作系统崩溃,而这是不可能的,实际上是由第二类虚拟机管理程序模拟真实硬件环境。虚拟机看起来和真实物理计算机没什么两样,因此当然可以安装多个操作系统。VMware Workstation就是一个安装在计算机上的程序,在创建虚拟机时,会为该虚拟机创建一组文件,这些虚拟机文件都存储在主机的磁盘上。
VMware Workstation虚拟机属于第二类虚拟机管理程序,如果真实硬件直接执行虚拟机中的敏感指令,那么该指令非法时可能会导致宿主操作系统崩溃,而这是不可能的,实际上是由第二类虚拟机管理程序模拟真实硬件环境。虚拟机看起来和真实物理计算机没什么两样,因此当然可以安装多个操作系统。VMware Workstation就是一个安装在计算机上的程序,在创建虚拟机时,会为该虚拟机创建一组文件,这些虚拟机文件都存储在主机的磁盘上。
19.虚拟机的实现离不开虚拟机管理程序(VMM),下列关于VMM的说法中正确的是()。
I.第一类VMM直接运行在硬件上,其效率通常高于第二类VMM
Ⅱ.由于VMM的上层需要支持操作系统的运行、应用程序的运行,因此实现VMM的代码量通常大于实现一个完整操作系统的代码量
Ⅲ.VMM可将一台物理机器虚拟化为多台虚拟机器
IV.为了支持客户操作系统的运行,第二类VMM需要完全运行在最高特权级
B
第一类VM直接运行在硬件上:第二类VMM运行在宿主操作系统上,不能直接和硬件打交道,因此第一类VM的效率通常更高。VMM的功能没有操作系统的功能复杂,其代码量少于一个完整的操作系统。I是基本概念。第一类VMM运行在最高特权级(内核态),而第二类 VMM和普通应用程序的地位相同,通常运行在较低特权级(用户态)。
第一类VM直接运行在硬件上:第二类VMM运行在宿主操作系统上,不能直接和硬件打交道,因此第一类VM的效率通常更高。VMM的功能没有操作系统的功能复杂,其代码量少于一个完整的操作系统。I是基本概念。第一类VMM运行在最高特权级(内核态),而第二类 VMM和普通应用程序的地位相同,通常运行在较低特权级(用户态)。
20.【2013统考真题】计算机开机后,操作系统最终被加载到()。
D
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM。部分未复习计组的读者对该内容可能不太熟悉,但熟悉了各类存储介质后,解答本题并不难。
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM。部分未复习计组的读者对该内容可能不太熟悉,但熟悉了各类存储介质后,解答本题并不难。
21.【2022统考真题】下列选项中,需要在操作系统进行初始化过程中创建的是()。
A
在操作系统初始化的过程中需要创建中断向量表,以实现通电自检(POST),CPU检测到中断信号后,根据中断号查询中断向量表,跳转到相应的中断处理程序,A正确。在硬盘逻辑格式化之前,需要先对硬盘进行分区,即创建硬盘分区表。分区完成后,对物理分区进行逻辑格式化(创建文件系统),为每个分区初始化一个特定的文件系统,并创建文件系统的根目录。如果某个分区采用UX文件系统,则还要在该分区中建立文件系统的索引节点表。
在操作系统初始化的过程中需要创建中断向量表,以实现通电自检(POST),CPU检测到中断信号后,根据中断号查询中断向量表,跳转到相应的中断处理程序,A正确。在硬盘逻辑格式化之前,需要先对硬盘进行分区,即创建硬盘分区表。分区完成后,对物理分区进行逻辑格式化(创建文件系统),为每个分区初始化一个特定的文件系统,并创建文件系统的根目录。如果某个分区采用UX文件系统,则还要在该分区中建立文件系统的索引节点表。
22.【2023统考真题】与宏内核操作系统相比,下列特征中,微内核操作系统具有的是()。
I.较好的性能
Ⅱ.较高的可靠性
Ⅲ.较高的安全性
IV.较强的可扩展性
D
微内核构架将内核中最基本的功能保留在内核,只有微内核运行在用户态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃,因此具有较高的可靠性和安全性。微内核的非核心功能运行在用户空间,可通过插件或模块的方式进行扩展,无须改动内核代码,因此具有较强的可扩展性。微内核需要频繁地在用户态和核心态之间进行切换,操作系统的执行开销偏大,从而影响系统性能。
微内核构架将内核中最基本的功能保留在内核,只有微内核运行在用户态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃,因此具有较高的可靠性和安全性。微内核的非核心功能运行在用户空间,可通过插件或模块的方式进行扩展,无须改动内核代码,因此具有较强的可扩展性。微内核需要频繁地在用户态和核心态之间进行切换,操作系统的执行开销偏大,从而影响系统性能。